// components/listScroll/listScroll.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    /**
     * 是否处于加载状态，加载过程中不触发 load 事件
     * false 非加载中，此时会根据列表滚动位置判断是否触发 load 事件（列表内容不足一屏幕时，会直接触发）。
     * true 加载中，表示正在发送异步请求，此时不会触发 load 事件。在每次请求完毕后，需要手动将 loading 设置为 false，表示加载结束。
     */
    loading: {
      type: Boolean,
      value: false,
    },
    // 是否加载失败，加载失败后点击错误提示可以重新触发 load 事件
    error: {
      type: Boolean,
      value: false,
    },
    // 是否已加载完成，加载完成后不再触发 load 事件
    finished: {
      type: Boolean,
      value: false,
    },
    // 滚动条与底部距离小于 offset 时触发 load 事件
    offset: {
      type: Number,
      optionalTypes: [String, ],
      value: '200',
    },
    // 加载过程中的提示文案
    loadText: {
      type: String,
      value: '加载中...',
    },
    // 加载完成后的提示文案
    finishedText: {
      type: String,
      value: '没有更多了',
    },
    // 加载失败后的提示文案
    errorText: {
      type: String,
      value: '请求失败，点击重新加载',
    },
    // 加载文案颜色
    mainColor: {
      type: String,
      value: '',
    },
    // 完成、失败文案颜色
    subColor: {
      type: String,
      value: '',
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    refreshEnable: true,
    refreshing: false,
  },

  /**
   * 组件的方法列表
   */
  methods: {
    onBottom(e) {
      console.log('触底的')
      let { loading, finished, } = this.data
      if(loading || finished) return
      console.log(123);
    },
    onRefresh(e) {
      if(this.data.refreshEnable) {
        this.data.refreshing = true
        this.triggerEvent('refresh')
      }
    },
    // 失败文案重新加载
    onReload(e) {

    },
  },
})
